The present invention relates to communication of data between devices, and more particularly to communication of such data via a network.
Extensible Markup Language (XML) has become the de facto standard for flexible information exchange (storage and communication) over the Internet. For instance, XML is commonly used as a message format in distributed systems. Typically, in order to process an XML message, it is converted to an intermediate representation such as a document object model (DOM) tree. For further manipulation of this data, this tree is modified using standard tree traversal algorithms. Once the modifications are complete, the tree is converted (streamed) back into XML and propagated to another system over a network as an XML message. Such communications, which are prevalent in electronic commerce (e-commerce) applications, provide the ability for various entities to manipulate data within an XML document and provide the manipulated document back to its source.
For example, a consumer may access an on-line catalog to select one or more items for purchase. To complete an order, the consumer provides his or her address information, credit card information and the like, by inserting data into a browser screen. This data may accordingly modify the underlying XML document. This modified version of the document, which contains the customer's information, is then provided to the e-commerce retailer (e-tailer).
The e-tailer may then parse the modified document to obtain and utilize the data, including the address information, credit card information, ordering information, and the like. However, the parsing process can be quite computationally intensive. Accordingly, a need exists to improve handling of XML documents.